// 最直观的写法
// function $(arg){
//     return {
//         click(callback){
//         document.querySelector(arg).onclick=callback;
//     }
// }
// }


// 将返回的对象封装成一个类
class Click{
    constructor(arg){
        // 设置接收的元素
        this.ele=document.querySelector(arg);
    }
    click(callback){
        this.ele.addEventListener("click",callback);
    }
}
function $(){
    return new Click;
}

// $(".box").click(function(){
//     console.log("click");
// })

// 分析：
// $(".box") 即是返回一个Click类
// $(".box").click()  即是执行Click类的定义的方法click
// $(".box").click(function(){
//     console.log("click");
// }) // 即是将一个函数作为参数传递给click方法
// click方法是一个为元素添加事件，在此是 "点击" ,然后返回一个回调函数，在此函数参数就是回调函数。